package com.buba.user.service;

import com.buba.pojo.appointment.Appointment;
import com.buba.pojo.other.DivisionType;
import com.buba.pojo.other.Drugs;
import com.buba.pojo.other.MedicalRecords;
import com.buba.pojo.other.SetMeal;
import com.buba.pojo.record.*;
import com.buba.pojo.user.Campus;
import com.buba.pojo.user.Doctor;
import com.buba.pojo.user.ThePatient;
import com.buba.pojo.user.User;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import com.buba.user.vo.AppointmentVo;
import com.buba.user.vo.MedicalAppointmentVo;
import com.buba.user.vo.NucleicAcidVo;
import org.springframework.data.domain.PageRequest;

import java.util.Date;
import java.util.List;
/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author testjava
 * @since 2022-06-09
 */
public interface UserService extends IService<User> {
//    com.buba.lsx.pojo.User login(String userName);

    User login(User user);

    //User login2(String userName);

    int resetPwd(User user);

    String uploadFile(MultipartFile file, Integer id);

    void insertToken(String token, String loginUser, Date date);

    User login(String userName);

    List<AppointmentVo> getAllappointment(String doctorName,String name,Date createTime,Date createTime1,String divisionName);




    AppointmentVo getByIdappointment(Integer id);


    Doctor getByIdDoctor(Integer doctorId);

    ThePatient getByIdThePatient(Integer patientId);

    DivisionType getByIdDivisionType(Integer departmentId);

    Campus getByidCampus(Integer campusId);

    WaitingRecord getByIdWaitingRecord(Integer houzhenId);

    List<NucleicAcidVo> getAllnucleicAcid(Date createTime, Date createTime1);

    NucleicAcidVo getByIdnucleicacid(Integer id);

    ThePatient getByIdThePatient1(Integer patientId);

    WaitingRecord getByIdWaitingRecord1(Integer houzhenId);

    DivisionType getByIdDivisionType1(Integer departmentId);

    Campus getByidCampus1(Integer campusId);

    Doctor getByIdDoctor1(Integer doctorId);

    List<MedicalAppointmentVo> getAllmedicalAppointment(Date createTime, Date createTime1);

    MedicalAppointmentVo getByIdmedicalAppointment(Integer id);

    ThePatient getByIdThePatient2(Integer patientId);

    SetMeal getBiIdsetMeal(Integer packageId);

    Campus getByidCampus2(Integer campusId);

    DivisionType getByIdDivisionType2(Integer departmentId);

    PhysicalReport getByIdPhysicalReport(Integer patientId);

    Convention getAllconvention(Integer patientId);

    BloodRoutineExaminatio getAllbloodRoutineExaminatio(Integer patientId);

    List<MedicalAppointmentVo> getAllrecord();

    List<Drugs> getAlldrugs();


    Drugs getByIddrugs(Integer id);
}
